The present invention relates generally to a computer implemented method, data processing system, and computer program product for installing computer programs.
Installation of new software, fixes and upgrades is a routine process that in a business environment is expected to occur without incidents. In other words, at a minimum, an installation of software should occur with little, if any, downtime. In addition, it is preferred that parts of the install process, and even precursor steps to the install process, are not re-executed—or if re-executed, are done while minimizing work performed by a person supervising the process.
Installation scripts, or install scripts, can be written for a generic or assumed configuration of a data processing system. An install script is a stored set of machine readable instructions that, when executed, reconfigure a computer to have a program stored to a file system, and specifically, to be within the executable path of one or more directories that are searched for executable files. Further preparatory reconfigurations may occur. For example, a computer executing the install script may change permissions and ownership for the program, create new file systems and directories, add new user accounts, and the like.
U.S. Pat. No. 6,598,225 to Curtis provided installation assistance by supporting a programmer knowledgeable in writing install programs to write an install program that is applicable across multiple operating systems and environments. Among Curtis's embodiments is an installer tool kit based in use of Java™. Java is a trademark of Oracle, Inc. in the United States, other countries, or both.
U.S. Pat. No. 7,210,143 to Or provided a two part installation for multitier applications. Or, by applying an application model, included static descriptions of the application and a run-time description of the application. Static descriptions include identification of the packages that make up the application, identification of specific installations of the packages and/or a description of static installation dependencies. The run-time description includes identification of managed services, identification of specific configurations of the managed services and/or run-time dependencies.
It was also known for an installation program to automatically install one or more programs in a computer. If either or both of these programs are currently installed in the computer, the installation program will delete the current copy of the program and install another copy of the program.
It was also known for an installation program to be programmed to automatically install one or more programs in a computer, but before the installation commences to query a configuration file of the computer to determine if any of the programs are already installed in the computer. If any of the programs are already installed in the computer, Or replaced the package or program. This way, if a package is already installed (or-pre-installed) and an update of the package is later checked-in, the updated package can be automatically installed (or pre-installed) in place of the previous version of the package. With pre-install, as described by Or, packages are pre-installed and the installation is completed post-cutover. In one approach, packages are pre-installed at a temporary location on the target device and then moved to the final destination post-cutover.
An object of the present invention is to improve the process of selectively installing computer programs.